Wireless communication devices, personal data assistants and other types of mobile devices are commonly powered by internal power supplies, such as an internal battery or battery pack. The internal battery pack may be an assembly of one or more battery cells or battery modules that, depending on different factors, are capable of delivering a certain amount of charge to the mobile device in each given charging-discharging cycle. Different battery packs are designed to have different charge capacities, terminal voltages, charging characteristics, and discharging characteristics. Battery packs may be removable from the mobile device, for example, using a battery pack compartment in which the battery is housed using a securable cover. Alternatively, some battery packs may be “non-removable”, in the sense that ready access to the battery pack compartment is more difficult to gain.
Many battery packs incorporate a battery ID resistor through which the mobile device may ascertain at least one of the type or model of a given battery pack. Typically, the battery ID resistor is connected between two external pins of the battery pack and has a characteristic resistance value that is allocated to the given battery model. A processor in the mobile device then measures the resistance of the battery ID resistor and determines one or both of the type and manufacture of the battery by comparing the measured resistance value against known values. If a match is found, the battery is identified.
More recently with the introduction of so-called “smart batteries”, which may have an integrated battery processor or some other processing elements or circuitry in certain implementations, and in some cases storage memory, a main processor of the mobile device is able to identify different battery models by initiating a communication protocol with the battery processor. By way of example, according to the communication protocol, the main processor of the mobile device and a battery processor of the smart battery may be able to exchange different types of data and other information. In some cases, the battery processor transmits a battery ID value stored in the battery memory to the main processor to indicate the given battery model. Additional information relating to the charge capacity, charging characteristics and discharging characteristics of the battery may also be communicated to the main processor, for use by the main processor to control operation of the battery.
In addition to identifying a type or model of the battery, the communication protocol executed between the main processor and the battery processor may be used to authenticate the source of the smart battery. Some batteries may be manufactured by authorized sources, while other batteries may originate from third-party, non-authorized sources. Still other batteries may be counterfeit (i.e., passed off as being from an authorized source when they have not in fact originated from the authorized source). To authenticate the mobile device battery as being from an authorized source, the main processor may generate and send a challenge message to the battery processor. If the battery processor is able to generate the correct response message, for example by processing the challenge message with a cryptographic algorithm or other piece of cryptographic data, such as a cryptographic key, the battery is authenticated for use with the mobile device. However, an incorrect response message could indicate that the battery is not authentic or is counterfeit. Data integrity checks may also be utilized to ensure that an incorrect response message is due to the battery being inauthentic and not a data error during transmission.